Production printing systems associated with data processing enterprises generally include a localized print controller within the printing system. The print controller controls the overall operation of the printing system including, for example, host interfacing, interpretation or rendering, and lower level process control or interface features of print engines. Host interaction may include appropriate adapters for coupling the printing system to one or more host systems that transmit print jobs to the printing system. The print jobs are generally encoded in the form of a page description language such as PostScript (PS), PCL, IPDS, etc.
In whatever form the print job may be encoded or formatted, the print controller within the printing system interprets the received information to generate sheetside bitmaps of the print job. The sheetside bitmaps represent the image to be printed on one side of a sheet of a print medium. Each sheetside bitmap generally comprises a 2-dimensional array of picture elements (“pixels”, or PELs) that represent a corresponding formatted sheet of the print job. Each pixel may represent an encoded color value in accordance with the requirements of the particular print job encoding and the capabilities of the printing system on which the print job is to be printed.
The print controller stores or buffers the sheetside bitmaps in accordance with storage capabilities of the particular architecture of a particular print controller. The print controller then forwards the sheetside bitmaps to one or more printers (sometimes also referred to as a “print engine”, “imaging engine” or a “marking engine”). The printers have internal queues for storing the sheetside bitmaps to be printed. The printer pulls the sheetside bitmaps off the queue and performs an imaging process to mark the print medium with the sheetside bitmaps provided by the print controller. The printer may be a laser printer, an ink-jet printer, or another type of imaging system that transfers each sheetside bitmap to corresponding pixels on paper. Generally, the printer is configured with the printing system.
Output quality for printing systems generally depends on the printer characteristics being known and fixed, so that the color conversions and transfer curves can be constructed in advance. This known state may be referred to as the reference state. In practice, printers tend to become uncalibrated due to environmental conditions and operating conditions. This “printer drift” degrades the output quality of a printed product because the amount of deposited toner or ink varies. And, printer drift is generally impossible to model or predict because it depends on too many factors, both external and internal (e.g., temperature, humidity, printer age, etc.).
Printer drift has usually been solved by periodically recalibrating the printer. Printer calibration involves printing a set of test patches where the output is known assuming that the printer is in the reference state. The printed patches are then measured such that a calibration module may compare the measured patches to known values of the reference state of the printer to determine whether the printer has drifted (i.e., has become uncalibrated). The calibration module then uses this model to adjust the transfer curves (e.g., color conversion models) such that subsequent output can be corrected to that of the printer in the reference state. However, no system presently exists to determine whether the calibration module itself is functioning properly. For example, the calibration module may incorrectly process the measured patches such that the calibration module improperly recalibrates the printer. Such may be due to the improper installation of a calibration algorithm within the calibration module and/or malfunctioning circuitry within the print controller.
In any case, testing a calibration module generally requires large amounts of data to statistically ensure that the calibration algorithms are functioning properly. To generate such data, a printing system would be required to print a large quantity of test patches on physical print medium, resulting in increased manual intervention and a waste of supplies.